Until recently, most computer applications were designed primarily to be used by people without disabilities—people that can see, hear, operate a mouse and keyboard, and distinguish colors without difficulty. Computer application interface design practices changed in 2001, after the U.S. Congress amended Section 508 of the Rehabilitation Act to require U.S. Federal Government (“Federal”)agencies to make their electronic and information technology accessible to people with disabilities and corresponding rules came into effect.
The primary purpose of Section 508 is to foster access to and use of Federal executive agencies' electronic and information technology (EIT) by individuals with disabilities. EIT includes information technology (IT), and any equipment or interconnected system or subsystem of equipment, that is used in the creation, conversion, or duplication of data or information. This includes any system used for communication, duplication, computing, storage, presentation, control, transport or production of information, such as computers, software applications, networks, web sites, peripherals and other types of electronic office equipment. Inaccessible technology interferes with an individual's ability to obtain and use data or information quickly and easily. Section 508 is designed to eliminate barriers in information technology, to make available new opportunities for people with disabilities, and to encourage development of technologies that will help achieve these goals. The law applies to all Federal agencies when they develop, buy, maintain, or use electronic and information technology. Under Section 508, agencies must give disabled employees and members of the public access to information that is comparable to the access available to others.
Although Section 508 does not directly apply to the private sector, because of the magnitude of federal purchasing power—federal agencies generally must purchase electronic and information technology that is Section 508 compliant—many EIT producers design their products for compliance. Thus, in one sense, Section 508 promotes accessibility competition in the technology industry by clarifying the federal market's requirement for accessibility in products intended for general use. Companies interested in selling EIT to the Federal government are responsible for designing and manufacturing products that meet the applicable Section 508 provisions. For example, if two companies are bidding a government contract and one is offering accessible solutions and the other is not, the accessible technology is likely to win the contract.
The technical standards of Section 508 provide criteria specific to various types of technologies, including software applications and operating systems, web-based information, and desktop and portable computers, among others. The standards provide both technical specifications and performance-based requirements that focus on the functional capabilities of covered technologies. Certain provisions are designed to ensure compatibility with adaptive equipment that people with disabilities commonly use for information and communication access, such as screen readers, Braille displays, and TTYs.
Most of the standards for software applications pertain to usability for people with vision impairments. For example, one provision requires alternative keyboard navigation, which is essential for people with vision impairments who cannot rely on pointing devices, such as a mouse. Other provisions address animated displays, color and contrast settings, flash rate, and electronic forms, among other things.
The provisions for web-based technology and information are intended to ensure access for people with vision impairments who rely on various assistive products to access computer-based information, such as screen readers, which translate the contents of a computer screen into automated audible output, and refreshable Braille line displays, which are a tactile devices consisting of a row of special ‘soft’ cells having 6 or 8 pins that are controlled electronically to move up and down to form Braille characters as they appear on the display of a source system, such as a computer. Certain conventions, such as verbal tags or identification of graphics, and format devices, like frames, are necessary so that these products can “read” them for the user in a sensible way. The standards do not prohibit the use of graphics or animation. Instead, the standards try to ensure that graphic and animation information is also available in another accessible format. Generally, this means use of text labels or descriptors for graphics and certain format elements. For example, HTML code provides an “Alt Text” tag for graphics which can serve as a verbal descriptor for graphics. The standards also addresses the usability of multimedia presentations, image maps, style sheets, scripting languages, applets and plug-ins, and electronic forms.
To comply with Section 508, software application designers and implementers, including web site designers and implementers, must meet the set of functional standards that require, for example, that there be a way for a person who is mobility-impaired or blind to use the software product or Web site. More specifically, the Section 508 standards require a web site or application user interface to satisfy sixteen items for accessibility. These are specific things a web site or application must do to ensure that a person who is mobility impaired, blind, or otherwise impaired can use the application. For example, the standards require the use of alternative text for images and the use of client-side image maps instead of server-side maps.
Because of the purchasing power of the Federal government, among other things, many EIT vendors try to incorporate accessibility features into their products and service offerings, both new and existing. Many problems arise, however, in testing a software application or other product for compliance with Section 508 or other accessibility standard. Testing an application that has a rich user interface, for example, requires an enormous effort and a large amount of money to determine whether each user-interface element of each display screen meets accessibility compliance goals. Testing is even more problematic for an application featuring screens with user-interface elements that are assembled dynamically, as compliance checks must be done at runtime because static representations of the screens do not exist.
One possible solution is to manually test all the possible user-interface screens and elements for accessibility compliance. Companies, however, often lack the resources to, or cannot profitably, test all their products manually.
Another possible solution is to employ conventional tools, such as Bobby (http://www.watchfire.com/products/desktop/bobby/default.aspx), to test simple user-interface elements, such as those found in HTML pages, for accessibility problems. Such conventional tools, however, cannot test rich user interfaces or consider the context of an element in a dynamically assembled user-interface display because they operate at the HTML level and are limited to the information provided by an HTML page.
Accordingly, it is desirable to develop systems and methods that are capable of testing a rich-user-interface application for compliance with accessibility standards, including context evaluation of the elements. It is also desirable to develop systems and methods for testing applications for accessibility, such as Section 508 compliance, during the applications' development phase, evaluating the accessibility status of an application during acceptance testing, and integrating the accessibility checks into an automatic application test that emulates end user interaction.